
//初始化
var web = new Vue({
    el : '#main-cont',
    data () {
        return {
            lists : '',
            first : '',
            city : '广州站',
            page : 1,
            size : 20,
            lock : false,
            code : ''
        }
    },
    created(){
        this.getList();
    },
    mounted(){
        var _this = this;
        //滚动条到页面底部加载更多案例
        $(window).scroll(function() {
            if(!$config.IsPC()){
                var citybox  = $('.five-city'),
                    topH = citybox.offset().top,
                    scrollTop = $(document).scrollTop();
                if(scrollTop>=topH){
                    if(!citybox.hasClass('fixed')){
                        citybox.addClass('fixed')
                    }
                }else{
                    if(citybox.hasClass('fixed')){
                        citybox.removeClass('fixed')
                    }
                }

            }


            if(_this.lock) return;
            var scrollTop = $(this).scrollTop();    //滚动条距离顶部的高度
            var scrollHeight = $(document).height();   //当前页面的总高度
            var clientHeight = $(this).height();    //当前可视的页面高度
            // console.log("top:"+scrollTop+",doc:"+scrollHeight+",client:"+clientHeight);
            if (scrollTop + clientHeight >= scrollHeight-450) {   //距离顶部+当前高度 >=文档总高度 即代表滑动到底部
                //滚动条到达底部
                _this.getList();
            } else if (scrollTop <= 0) {
                //滚动条距离顶部的高度小于等于0
            }
        })

    },
    methods : {
        getList (isload){
            var _this = this;
            if(isload){
                _this.page = 1
            }
            if(!_this.page || _this.lock) return; //没有下一页了或者接口没有请求完成
            // 上锁
            _this.lock = true;

            if(isload){
                var loading = layer.load(2, {
                    shade: [0.2,'#fff'] //0.1透明度的白色背景
                });
            }

            //请求数据
            $.ajax({
                url : $config.host()+'/NBASearch/GetInformation',
                dataType : 'json',
                cache:false,
                data : {
                    type  : 'ElectionListByCity',
                    value : _this.city,
                    pageNum : _this.page,
                    pageSize : _this.size
                },
                success(json){
                    var datas = json.playerList;
                    if(_this.page == 1){
                        _this.lists = datas;
                    }else{
                        _this.lists = _this.lists.concat(json.playerList);
                    }
                    //还有下一页
                    if(datas.length == _this.size){
                        _this.page ++ ;
                    }
                    //没有下一页了
                    else{
                        _this.page = false
                    }

                    //解锁
                    setTimeout(()=>{
                        _this.lock = false;
                    },300)

                    //去除loading层
                    layer.close(loading);
                }
            })
        },
        setCity (value){
            this.city = value;
            this.getList(true);
        },
        search(){
            var _this = this;
            if(!_this.code){
                layer.alert('请输入选手编号');
                return;
            }
            $('.search-box input').blur();
            $.ajax({
                url : $config.host()+'/NBASearch/GetInformation',
                dataType : 'json',
                data : {
                    type  : 'ValidatePlayerNo',
                    value : _this.code
                },
                success(json){
                    if(json.success){
                        location.href = 'detail.html?id='+_this.code;
                    }else{
                        layer.alert(json.message.fMsg)
                    }
                }
            })
        }
    }
})